Systems and methods are generally known for effecting signaling (control) data on a communications network. FIG. 1 is a block diagram of a functional architecture of a communications network, according to the prior art. As shown in FIG. 1, a SIP server 104 provides communications services such as routing SIP signaling messages between a source device 102 and a destination device 106. Source device 102 and/or destination device 106 may be, for example, a SIP-enabled telephone, a SIP PC (Personal Computer) client, a SIP-enabled gateway, or other device configured to originate or terminate a SIP session. FIG. 2 is a message sequence diagram of communications with a SIP server, according to the prior art. In particular, FIG. 2 illustrates signaling between the functional blocks in FIG. 1 using request and response message types: Invite and Bye are request messages; Ringing and OK are response messages.
In typical signaling applications, multiple SIP servers may be used (instead of a single SIP server 104) where the communications system also includes multiple sources and/or destination devices. But systems with multiple SIP servers have many disadvantages. For example, known systems may not be able to establish, modify, or terminate at least some SIP sessions where one or more SIP servers have failed. Moreover, requests may be received at SIP servers according to round-robin assignments or theoretical server capacity, resulting in inefficient processing of SIP messages. What is needed is a system and method for performance-based load balancing of SIP servers that can also adapt to one or more failed SIP servers in the system.